# -*- coding: utf-8 -*-
# 列表生成式
L = list(range(1, 11))
print(L)
# 生成[1x1, 2x2, 3x3, ..., 10x10]
L1 = []
for x in range(1, 11):
    L1.append(x*x)
print(L1)
# 方式二：列表生成式
print([x*x for x in range(1, 11)])
# for循环后面还可以加上if判断，这样我们就可以筛选出仅偶数的平方：
print([x*x for x in range(1, 11)if x % 2 == 0])
# 使用两层循环，可以生成全排列：
print([m+n for m in 'ABCD'for n in 'XYZW'])

#列出当前目录下的所有文件和目录名
import os  # 导入os模块
print([d for d in os.listdir()])  # os.listdir可以列出文件和目录

Dict = {'x': 'A', 'y': 'B', 'z': 'C' }
print([k + '=' + v for k, v in Dict.items()])

Ls = ['Hello', 'World', 'IBM', 'Apple']
print([s.lower() for s in Ls])

print([x if x % 2 == 0 else -x for x in range(1, 11)])

#在一个列表生成式中，for前面的if ... else是表达式，而for后面的if是过滤条件，不能带else。